package student.aistar.day15.Thread02;

/**
 * 后台守护线程(一): 只要进程里面有其他线程在执行时, 守护线程都会等他们执行完才执行, 当只剩下守护线程时, 守护线程就会停下手中的全部活
 */
public class DaemonDemo {
    public static void main(String[] args) {
        Thread t1 = new T1();
        Thread t2 = new T2();
        //打印数字的线程 - 设置成后台守护线程
        //如果后台只剩下守护线程在执行 - 可以结束了
        //不需要等待所有的守护线程运行结束才结束
        t1.setDaemon(true);

        //t1和t2如果都不是守护线程 - main线程看还有其他线程在运行
        //一定会等待两个线程全部执行完, 才会结束
        t1.start();
        t2.start();
    }
}
class T1 extends Thread{
    @Override
    public void run() {
        for (int i = 65; i <=90 ; i++) {
            System.out.println((char)i);
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}
class T2 extends Thread{
    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            System.out.println(i);
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}